/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.uniceub.fsw.ativos.facade;

import br.uniceub.fsw.ativos.dao.*;
import br.uniceub.fsw.ativos.vo.*;
import java.util.*;
import java.sql.*;
import javax.servlet.http.HttpServletRequest;


/**
 *
 * @author Bruna
 */
public class CategoriaFacade {

    private CategoriaDAO catDao;
    private Integer categoria2;
    private AtivoDAO ativoDAO;
    private AtivoVO ativoVO;
    private Integer teste;
    private Integer anular;
    private Boolean teste2;
        
    
    
    public CategoriaFacade() {
        catDao  = new CategoriaDAO();
        ativoDAO = new AtivoDAO();
        ativoVO = new AtivoVO();
        
        
    }

    public String operacao(HttpServletRequest req) {
        String oper = req.getParameter("operacao");
        if (oper == null) {
            return "";
        }
        
        if (oper.equals("inserir")) {
            StringBuffer sb = new StringBuffer();
            String noCategoria = req.getParameter("noCategoria");
            String dsCategoria = req.getParameter("dsCategoria");
            String categoria =  req.getParameter("categoria");
            
               
            CategoriaVO cat = new CategoriaVO();
            cat.setNoCategoria(noCategoria);
            cat.setDsCategoria(dsCategoria);
            cat.setCdCategoriaPai(new Integer(categoria));
                        
      
            if (catDao.salvar(cat)) {
                sb.append("<script>alert('Categoria INSERIDA com sucesso')</script>");
                return "alert('Categoria INSERIDA com sucesso');";
                } else {
                sb.append("<script>alert('Erro ao inserir')</script>");
                return "Erro ao tentar inserir";
                }
        }
        
               
        if (oper.equals("apagar")) {
            Integer idCategoria = new Integer(req.getParameter("idCategoria"));
            Integer cdCategoriaPai = new Integer(req.getParameter("cdCategoriaPai"));
            String noCategoria = req.getParameter("noCategoria");
            String dsCategoria = req.getParameter("dsCategoria");
            CategoriaVO c = new CategoriaVO();
            c.setIdCategoria(idCategoria);
            c.setCdCategoriaPai(cdCategoriaPai);
            c.setNoCategoria(noCategoria);
            c.setDsCategoria(dsCategoria);
            ArrayList aList1 = ativoDAO.consultarCategoriaAtivo(new Integer(idCategoria));
            //ArrayList aList2 = cat
            if (aList1.isEmpty()){
                if (catDao.apagar(c)) {
                    return "Categoria APAGADA com sucesso";
                }else {
            return "Erro ao tentar apagar";
        }
        }
        
       
    }
         return "";
    }
    
    /*
    public Integer consultar(HttpServletRequest req){
        Integer cat = new Integer(req.getParameter("categoria"));
        return cat;
    }
     */
/*
    public String inserir(HttpServletRequest req) {
        String noCategoria = req.getParameter("noCategoria");
        String dsCategoria = req.getParameter("dsCategoria");
        Integer cdCategoriaPai = categoria2;
       
        CategoriaVO categoria = new CategoriaVO();
        categoria.setNoCategoria(noCategoria);
        categoria.setDsCategoria(dsCategoria);
        categoria.setCdCategoriaPai(cdCategoriaPai);

        if (catDao.salvar(categoria)) {
            return "Categoria INSERIDA com sucesso";
        } else {
            return "Erro ao tentar inserir";
        }
        
    }
*/
    

    public String getComboCategoria() {
        StringBuffer sb = new StringBuffer();
        ArrayList aList = catDao.consultarTodas();
        sb.append("<SELECT class='dropdownlistfocus' NAME='categoria' id='categoria'>");
        //sb.append("<SELECT class='dropdownlistfocus' NAME='categoria' id='categoria' onchange='javascript:comboSubCat()'>");
        sb.append("<OPTION VALUE='0' >Nenhuma</OPTION>");
        for (int i = 0; i < aList.size(); i++) {
            CategoriaVO c = (CategoriaVO) aList.get(i);
            sb.append("<OPTION VALUE='" + c.getIdCategoria().toString() + "'>" + c.getNoCategoria() + "</OPTION>");
        }
        sb.append("</SELECT>");

        return sb.toString();
    }
    public String getComboTipo() {
        StringBuffer sb = new StringBuffer();
        ArrayList aList = catDao.consultarSubCategoria();
        sb.append("<SELECT NAME='tipo'>");
        sb.append("<OPTION VALUE='0'>"+categoria2+"</OPTION>");
        for (int i = 0; i < aList.size(); i++) {
            CategoriaVO c = (CategoriaVO) aList.get(i);
            sb.append("<OPTION VALUE='" + c.getIdCategoria().toString() + "'>" + c.getNoCategoria() + "</OPTION>");
        }
        sb.append("</SELECT>");

        return sb.toString();
    }
    
    public String consultarTodas(){
        StringBuffer sb=new StringBuffer();
        //String parteNome=req.getParameter("parteNome");
        CategoriaDAO dao=new CategoriaDAO();
        ArrayList aList=dao.consultarTodas();
        for (int i=0; i<aList.size(); i++){
            CategoriaVO cat=(CategoriaVO) aList.get(i);
            sb.append("<tr>");
            sb.append("<td>" + cat.getIdCategoria().toString() + "</td>");
            sb.append("<td>" + cat.getNoCategoria() + "</td>");
            sb.append("<td>" + cat.getDsCategoria() + "</td>");
            sb.append("</tr>");
        }
        
        return sb.toString();
    }
    
    public String consultarSubCategoria(){
        StringBuffer sb=new StringBuffer();
        //Integer cat=req.getParameter("parteNome");
        
        CategoriaDAO dao=new CategoriaDAO();
        ArrayList aList=dao.consultarSubCategoria();
        for (int i=0; i<aList.size(); i++){
            CategoriaVO cat=(CategoriaVO) aList.get(i);
            sb.append("<tr>");
            sb.append("<td>" + cat.getIdCategoria().toString() + "</td>");
            sb.append("<td>" + cat.getNoCategoria() + "</td>");
            sb.append("<td>" + cat.getNoSubCategoria() + "</td>");
            sb.append("<td>" + cat.getDsCategoria() + "</td>");
            sb.append("</tr>");
        }
        
        return sb.toString();
    }
    /*public String alterar(HttpServletRequest req) {
        String idAtivo = req.getParameter("idAtivo");
        String noAtivo = req.getParameter("noAtivo");
        Ativo t = new Ativo();
        t.setIdAtivo(new Integer(idAtivo));
        t.setNoAtivo(noAtivo);
        if (dao.alterar(t)) {
            return "Ativo ALTERADO com sucesso";
        } else {
            return "Erro ao tentar alterar";
        }
    }
*/
    /*
    public String apagar(HttpServletRequest req) {
        String idCategoria = req.getParameter("idCategoria");
        CategoriaVO c = new CategoriaVO();
        ArrayList aList1 = ativoDAO.consultarCategoriaAtivo(new Integer(idCategoria));
        //ArrayList aList2 = cat
        if (aList1.isEmpty()){
            if (catDao.apagar(c)) {
                return "Categoria APAGADA com sucesso";
            }else {
            return "Erro ao tentar apagar";
        }
        }
        
        return "";
        
    }
/*
    public String consultar(HttpServletRequest req) {
        String parteNome = (req.getParameter("parteNome") == null ? "" : req.getParameter("parteNome"));
        StringBuffer sb = new StringBuffer();
        ArrayList aList = dao.consultarPorNome(parteNome);
        for (int i = 0; i < aList.size(); i++) {
            Ativo t = (Ativo) aList.get(i);
            sb.append("<form method='post' OnSubmit='return validar(this)'>");
            sb.append("<tr>");
            sb.append("<td>");
            sb.append("<input type='hidden' name='operacao' value='x'>");
            sb.append("<input type='text' name='idAtivo' value='" + t.getIdAtivo() + "' readonly size='5'>");
            sb.append("</td>");
            sb.append("<td>");
            sb.append("<input type='text' name='noAtivo' value='" + t.getNoAtivo() + "' size='30'>");
            sb.append("</td>");
            sb.append("<td>");
            sb.append("<input type='submit' name='btAlterar' value='Alterar' OnClick='operacao.value=\"alterar\"'>");
            sb.append("<input type='submit' name='btApagar' value='Apagar' OnClick='operacao.value=\"apagar\"'>");
            sb.append("</td>");
            sb.append("</tr>");
            sb.append("</form>");
        }
        return sb.toString();
    }*/

}



